//
//  RZIMUtility.h
//  RZIM
//
//  Created by reyzhang on 2021/8/3.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN

@interface RZKitUtility : NSObject
/*!
 会话列表会话时间转换

 @return        可视化的时间字符串

 @discussion 如果该时间是今天的，则返回值为"HH:mm"格式的字符串；
 如果该时间是昨天的，则返回字符串资源中Yesterday对应语言的字符串；
 如果该时间是昨天之前或者今天之后的，则返回"yyyy-MM-dd"的字符串。
 */
+ (NSString *)convertConversationTime:(NSString *)timeStr;

/*!
 聊天页面消息时间转换

 @return        可视化的时间字符串

 @discussion 如果该时间是今天的，则返回值为"HH:mm"格式的字符串；
 如果该时间是昨天的，则返回"Yesterday HH:mm"的字符串（其中，Yesterday为字符串资源中Yesterday对应语言的字符串）；
 如果该时间是昨天之前或者今天之后的，则返回"yyyy-MM-dd HH:mm"的字符串。
 */
+ (NSString *)convertMessageTime:(NSString *)timeStr;


/*!
 获取资源包中的图片

 @param name        图片名
 @param bundleName  图片所在的Bundle名
 @return            图片
 */
+ (UIImage *)imageNamed:(NSString *)name ofBundle:(NSString *)bundleName;

/**
 Create and return a 1x1 point size image with the given color.
 
 @param color  The color.
 */
+ (nullable UIImage *)imageWithColor:(UIColor *)color;

/**
 Create and return a pure color image with the given color and size.
 
 @param color  The color.
 @param size   New image's type.
 */
+ (nullable UIImage *)imageWithColor:(UIColor *)color size:(CGSize)size;



/**
 根据用户汉字姓名的头字母 排序
 */
+ (NSMutableDictionary *)sortedArrayWithPinYinDic:(NSArray *)userList;

/**
 是否留海屏
 */
+ (BOOL)isHairHead;

/**
 获取屏幕安全区域
 */
+ (UIEdgeInsets)getWindowSafeAreaInsets;


/**
 获取主window
 */
+ (UIWindow *)getKeyWindow;


/**
 计算文本大小
 */
+ (CGSize)getTextDrawingSize:(NSString *)text font:(UIFont *)font constrainedSize:(CGSize)constrainedSize;


/**
 获取北京时间 13位的时间戳
 */
+ (NSString *)get13TimeStemp;


/**
 amr to wav
 */
+ (BOOL)convertAMR:(NSString *)amrFilePath
             toWAV:(NSString *)wavFilePath;


/**
 wav to amr
 */
+ (BOOL)convertWAV:(NSString *)wavFilePath
             toAMR:(NSString *)amrFilePath;


/**
 wav to mp3
 */
+ (BOOL)convertWAV:(NSString *)wavFilePath
             toMP3:(NSString *)mp3FilePath;



/**
 判断文件是否存在 且如果存在 是否允许删除
 */
+ (BOOL)isFileExist:(NSString *)fileName needDel:(BOOL)needDel;


+ (BOOL)isFileExist:(NSString *)fileName;

/**
 显示AlertController
 */
+ (void)showAlertWithTitle:(NSString *)title
                   message:(NSString *)message
                      from:(UIViewController *)vc
                showCancel:(BOOL)showCancel
            confirmHandler:(void(^)(void))block;




/**
 根据文件束，获取本地资源 url
 */
+ (void)getURlByAsset:(id)asset success:(void (^)(NSURL *))success;

/*!
 对原有视频进行压缩
 */
+ (void)videoPressWithOrginUrl:(NSURL *)videoUrl success:(void (^)(NSURL *))success;

/**
 取视频第一帧
 */
+ (UIImage*)getVideoPreViewImage:(NSURL *)path;




@end

NS_ASSUME_NONNULL_END
